export {}
/**
  泛型
  泛型接口
 */

// 对象，获取单个ID函数，获取所有ID函数，ID的类型肯定是一致的，但是可能是数字可能是字符串
interface IdFn<T> {
  id: () => T
  ids: () => T[]
}  


const idObj1: IdFn<number> = {
  id(){ return 1},
  ids(){ return [1, 2, 3]}
}

const idObj2: IdFn<string> = {
  id(){ return '1'},
  ids(){ return ['1', '2', '3']}
}

const idObj3: IdFn<boolean> = {
  id(){ return true},
  ids(){ return [true, false, true]}
}